POV-Ray : Newsgroups : povray.animations : skeletal animation using POV-RAY : skeletal animation using POV-RAY Server Time
17 May 2024 04:31:16 EDT (-0400)
  skeletal animation using POV-RAY  
From: melo
Date: 1 Feb 2008 23:35:00
Message: <web.47a3eb67e148a5763c0d56f20@news.povray.org>
I am new to POV-RAY and animation, I have managed to create a H-ANIM complaint
CSG based pov-ray Humanoid model and managed to provide AVARs (Animation control
variables) to define control frame poses,  POV-RAY does animate each frame
wonderfully on its own.

I had placed each of my control frames in its own block using multi-stage
animation setup.

What's missing is figuring out how to tie my frames smoothly.  Each pose in each
frame involve quite a number of joint object (represented by spheres) rotations
to take place.  The next frame needs to start off where the previous frame left
off.  What I see instead my humanoid jumping all over the screen from stage to
stage.

Is there a way to query coordinates of my AVAR joint objects from a nested CSG
Object, which is what my Humanoid is, so I can transform my Humanoid to where
the previous movements had left him at the beginning of the each new stage?

After he walks he can learn TaiChi and Yoga with me.

This is too much detail but the variable name declared for one joint object
center is like

#declare JOC_l_elbow = <a, b, c>; // These are from H-ANIM ISO standard
#declare JOC_l_wrist = <d, e, f>;

#declare joint_radius_arm = 0.3; // These are some values I picked

#declare l_elbow_ctl = <x, y, z>; // a rotation control vector  All my AVARs
                            // have _ctl suffix, for an example I show one here.

then in my Humanoid CSG definition is something like

#declare Humanoid =
Union {
  sphere{
  cone{..
  union{
    sphere{
    cone{
    sphere{
    cone{
    union{
      sphere{ JOC_l_elbow, joint_radius_arm }
      cone{ JOC_l_elbow, joint_radius_arm, JOC_l_wrist, 0.0 }
      #if ( VZero(r_elbow_ctl) )
      #else
         Rotate_Around_Trans( rl_elbow_ctl, JOC_l_elbow )
         //Rotate_Around_Trans( l_elbow_ctl, vtransform( JOC_l_elbow,
Human_Trans ) )
      #end
     }
      }
    }
  };


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.